package models

import "time"

// Item 物品
type Item struct {
	ID          int64      `gorm:"primaryKey"` // id
	ProductName string     // 商品名称
	Price       float64    // 总价
	BrandName   string     // 品牌
	Amount      int64      // 数量
	Source      string     // 来源
	ExpireDate  *time.Time // 到期日期
	CreateDate  *time.Time // 入库日期
	DestroyDate *time.Time // 销毁日期
	Status      int        // 状态
	Image       string     // 外观图片
	Desc        string     // 备注
	Hide        bool       // 移除

	SearchContent string // 模糊搜索字段
}

// GetStatusText 获取物品状态的文本
func (item *Item) GetStatusText() string {
	switch item.Status {
	case 1:
		return "已入库"
	case 2:
		return "正在使用"
	case 3:
		return "已过期"
	case 4:
		return "已销毁"
	}
	return "未知状态"
}

type ItemCategory struct {
	ID     int64 `gorm:"primaryKey"` // id
	Parent int64
	Name   string `gorm:"uniqueIndex,length:128"`
}
